<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      template="/resources/templates/navegacionTemplate.xhtml"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
    <ui:define name="cabecera">
        <title>Administración de usuarios</title>
    </ui:define>
    <ui:define name="tabla">
        <p:dataTable id="tabla" value="#{adminUsuariosController.lu}" var="usuario" style="font-size: 14px">
            <f:facet name="header">
                <h:form/>
            </f:facet>
            <p:column headerText="Nick" filterBy="#{usuario.nick}">
                <h:link value="#{usuario.nick}" outcome="/perfil.xhtml?nick=#{usuario.nick}"/>
            </p:column>
            <p:column headerText="Rol">
                <h:outputText value="#{usuario.rol}"/>
            </p:column>
            <p:column headerText="Conectado">
                <h:outputText value="#{sessionScope.SPRING_SECURITY_CONTEXT.authentication.authenticated}"/>
            </p:column>
            <p:column>
                <h:commandButton value="Eliminar" action="#{adminUsuariosController.eliminarUsuario(usuario)}"/>
                <h:commandButton value="Degradar" action="#{adminUsuariosController.cambiarRol(usuario,'Estandar')}" rendered="#{usuario.rol.equals('Moderador')}"/>
                <h:commandButton value="Ascender" action="#{adminUsuariosController.cambiarRol(usuario,'Moderador')}" rendered="#{usuario.rol.equals('Estandar')}"/>
            </p:column>
            <f:facet name="footer">
                <h:form/>
            </f:facet>
        </p:dataTable>
    </ui:define>
    <ui:define name="tabla2">
        <p:panel header="Crear usuario:">
            <h:panelGrid columns="3">
                <h:outputLabel for="username" value="Usuario: "/>
                <p:inputText id="username" value="#{adminUsuariosController.user.nick}" maxlength="20" size="20" required="true" requiredMessage="Usuario requerido"/>
                <p:message for="username"/>
                <h:outputLabel for="password" value="Contraseña: "/>
                <p:password id="password" value="#{adminUsuariosController.user.password}" feedback="true" minLength="8" maxlength="20" size="20" required="true" requiredMessage="Contraseña requerida"/>
                <p:message for="password"/>
                <h:outputLabel for="email" value="E-mail: "/>
                <p:inputText id="email" value="#{adminUsuariosController.user.email}" maxlength="100" size="20" required="true" requiredMessage="E-mail requerido"/>
                <p:message for="email"/>
                <h:outputLabel for="rol" value="Rol: "/>
                <h:selectOneMenu id="rol" value="#{adminUsuariosController.user.rol}" required="true" requiredMessage="Rol requerido">
                    <f:selectItem noSelectionOption="true"/>
                    <f:selectItem itemLabel="Estandar" itemValue="Estandar"/>
                    <f:selectItem itemLabel="Moderador" itemValue="Moderador"/>
                    <f:selectItem itemLabel="Administrador" itemValue="Administrador"/>
                </h:selectOneMenu>
                <p:message for="rol"/>
            </h:panelGrid>
            <f:facet name="footer">
                <h:commandButton value="Aceptar" action="#{adminUsuariosController.crearUsuario}"/>
            </f:facet>
        </p:panel>
    </ui:define>
    <h:form/>
</ui:composition>
